.版本 2

.程序集 窗口程序集_启动窗口
.程序集变量 yulan, 文本型
.程序集变量 分割数据, 文本型, , "0"
.程序集变量 新分割数据, 文本型, , "0"
.程序集变量 保存文件名, 文本型
.程序集变量 保存文件, 文本型

.子程序 __启动窗口_创建完毕

' 添加提示 (图形按钮1.取窗口句柄 (), “未激活会员0级”, 假, 假)


.子程序 _open_file_被单击
.局部变量 文件号, 整数型
.局部变量 编码转换, 文本型

.如果真 (通用对话框1.打开 ())
    file_path.内容 ＝ 通用对话框1.文件名
    文件号 ＝ 打开文件 (file_path.内容, , 4)
    yulan ＝ 编码_Utf8到Ansi (到字节集 (读入文本 (文件号, )))
    编辑框1.内容 ＝ yulan

    ' 调试输出 (yulan)


.如果真结束


.子程序 _run_被单击

清除数组 (分割数据)
清除数组 (新分割数据)
保存文件名 ＝ “”
保存文件 ＝ “”

分割数据 ＝ 分割文本 (yulan, #换行符, )
.如果 (取数组成员数 (分割数据) ＞ 0)
    run.禁止 ＝ 真
    执行分割 (取数组成员数 (分割数据), 到整数 (编辑框2.内容))

.否则

    信息框 (“请选择打开一个utf-8字符的txt文件”, 0, “提示:”, )

.如果结束





.子程序 执行分割
.参数 count, 整数型
.参数 size, 整数型
.局部变量 i, 整数型
.局部变量 i2, 整数型
.局部变量 i3, 整数型
.局部变量 is_jia, 逻辑型
.局部变量 页码标记算一行, 整数型
.局部变量 进度size, 整数型
.局部变量 save_i, 整数型
.局部变量 size_row, 整数型
.局部变量 是否显示行号, 逻辑型
.局部变量 是否显示页码, 逻辑型

是否显示行号 ＝ 选择框_显示行号.选中
是否显示页码 ＝ 选择框_显示页码.选中

' 进度条计算
进度条1.可视 ＝ 真
进度条1.最小位置 ＝ 0
进度条1.最大位置 ＝ count
进度条1.位置 ＝ 0
进度size ＝ count ÷ size
i ＝ 1  ' 整个循环计数器
i2 ＝ 0  ' 当前页5行的计数器，50次满了就要重头计数 ：行号
i3 ＝ 0  ' 50行他就+1 ：第几页
' 调试输出 (size)
size_row ＝ size － 3

页码标记算一行 ＝ 0  ' 前提是要显示页码，如果不显示要当作没选中
.如果真 (是否显示页码 ＝ 真)
    .如果真 (选择框1.选中 ＝ 假)
        页码标记算一行 ＝ 1

    .如果真结束

    .如果真 (选择框1.选中 ＝ 真)
        页码标记算一行 ＝ 0

    .如果真结束

.如果真结束


' 调试输出 (分割数据 [1])
' 第一行开始
' 调试输出 (“法随风倒随风倒”)
.计次循环首 (count, i)
    ' 调试输出 (“dd”)

    is_jia ＝ 假
    ' 调试输出 (i)
    ' 调试输出 (分割数据 [i])
    ' 第 1，2，最后一行是空格,不保存当前行--start

    .如果真 (i2 ≤ 2)
        .如果真 (分割数据 [i] ＝ “”)
            到循环尾 ()
        .如果真结束

    .如果真结束

    .如果真 (i2 ≥ size_row)
        ' 调试输出 (i, “cs:”, i2, “:”, 分割数据 [i])
        .如果真 (删全部空 (分割数据 [i]) ＝ “”)
            到循环尾 ()
        .如果真结束

    .如果真结束
    ' 第 1，2，最后一行是空格,不保存当前行--end




    .如果 (i2 ＝ 0)
        i3 ＝ i3 ＋ 1
        .如果真 (是否显示页码 ＝ 真)
            i2 ＝ i2 ＋ 1
            .如果 (页码标记算一行 ＝ 0)

                加入成员 (新分割数据, 到文本 (i2) ＋ “第” ＋ 到文本 (i3) ＋ “页”)
            .否则
                加入成员 (新分割数据, “第” ＋ 到文本 (i3) ＋ “页”)

            .如果结束

            到循环尾 ()
        .如果真结束


    .否则

    .如果结束



    is_jia ＝ 真
    .如果真 (is_jia ＝ 真)
        i2 ＝ i2 ＋ 1

    .如果真结束

    ' 新数据
    .如果 (是否显示行号 ＝ 真)
        .如果 (页码标记算一行 ＝ 0)
            加入成员 (新分割数据, 到文本 (i2) ＋ 分割数据 [i])
        .否则
            加入成员 (新分割数据, 到文本 (i2 － 1) ＋ 分割数据 [i])
        .如果结束


    .否则
        加入成员 (新分割数据, 分割数据 [i])

    .如果结束





    .如果真 (i2 ＝ size ＋ 页码标记算一行)
        ' 调试输出 (size ＋ 页码标记算一行)
        i2 ＝ 0

    .如果真结束


    .如果 (进度条1.位置 ＋ 进度size ＜ count)
        进度条1.位置 ＝ 进度条1.位置 ＋ 进度size
    .否则

    .如果结束


.计次循环尾 ()
进度条1.位置 ＝ count
进度条1.可视 ＝ 假
save_i ＝ 1
.计次循环首 (取数组成员数 (新分割数据), save_i)
    保存文件 ＝ 保存文件 ＋ 新分割数据 [save_i] ＋ #换行符
.计次循环尾 ()

编辑框1.内容 ＝ 保存文件

save_file.禁止 ＝ 假
run.禁止 ＝ 假

' 调试输出 (新分割数据)

.子程序 _save_file_被单击

' 获取保存路径

通用对话框2.打开 ()
保存文件名 ＝ 通用对话框2.文件名 ＋ “.txt”


写到文件 (保存文件名, 到字节集 (保存文件))

编辑框1.内容 ＝ 保存文件
' 调试输出 (保存文件名)
信息框 (“生成完成请记住,，文件路径为：” ＋ 保存文件名, 0, “提示：”, )


.子程序 _选择框1_被单击

' 选择框1.选中 ＝ 取反 (选择框1.选中)
' 调试输出 (选择框1.选中)

.如果真 (编辑框1.内容 ≠ “”)
    信息框 (“修改了任何选项都要点击按钮重新转换，否则保存无效”, 0, “提示：”, )

.如果真结束


.子程序 _调试_被单击

网页_打开指定网址 (“https://gitee.com/wekyun/txt-document-paging-tool”)

